package com.fowo.api.model.supplier.task;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 供应商产品开发任务 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class SupplierTaskImportPo {

  /** 任务编号 */
  @ExcelProperty("*任务编号")
  @NotBlank(message = "任务编号不能为空")
  private String taskId;

  /** 产品 */
  @ExcelProperty("*产品")
  @NotBlank(message = "产品不能为空")
  @Size(max = 500, message = "产品长度不能超过500")
  private String productIdName;

  @ExcelIgnore
  @Schema(title = "*产品")
  private String productId;

  /** 标题 */
  @ExcelProperty("*标题")
  @NotBlank(message = "标题不能为空")
  @Size(max = 1024, message = "标题长度不能超过1024")
  private String title;

  /** 开始时间 */
  @ExcelProperty("*开始时间")
  @NotBlank(message = "开始时间不能为空")
  @DateTimeString(message = "开始时间不是有效的时间日期格式")
  private String startTime;

  /** 截止时间 */
  @ExcelProperty("*截止时间")
  @NotBlank(message = "截止时间不能为空")
  @DateTimeString(message = "截止时间不是有效的时间日期格式")
  private String endTime;

  /** 分配人员 */
  @ExcelProperty("*分配人员")
  @NotBlank(message = "分配人员不能为空")
  @Size(max = 50, message = "分配人员长度不能超过50")
  private String toUserName;

  @ExcelIgnore
  @Schema(title = "*分配人员")
  private String toUser;

  /** 状态 */
  @ExcelProperty("*状态")
  @NotBlank(message = "状态不能为空")
  private String status;

  /** 备注 */
  @ExcelProperty("备注")
  @Size(max = 50, message = "备注长度不能超过50")
  private String remark;

  /** 流程编码 */
  @ExcelProperty("*流程编码")
  @NotBlank(message = "流程编码不能为空")
  private String enCode;
}
